#ifndef __VPAIR_H__
#define __VPAIR_H__

#include <Types/vTypes.h>
#include "../Macros/vMemoryMacros.h"

namespace Vendetta {
	template<class F, class S> class vPair {
	public:
		explicit vPair(const F& first = F(), const S& second = S()) { 
			First = first;
			Second = second;
		}

		vPair(const vPair& pair) { 
			First = pair.First;
			Second = pair.Second;
		}

		vPair& operator=(const vPair& pair) {
			if (this != &pair) {
				First = pair.First;
				Second = pair.Second;
			}

			return *this;
		}

	public:
		F First;
		S Second;

	};
}

#endif //__VPAIR_H__